Multiple-input-multiple-output (MIMO) systems represent an advance in wireless communication. MIMO systems employ one or more (e.g., multiple) antennas at the transmitting and receiving ends of a wireless link to improve the data transmission rate, while holding radio bandwidth and power constant.
A MIMO transmitter transmits an outgoing signal using multiple service antennas by demultiplexing the outgoing signal into multiple sub-signals and transmitting the sub-signals from separate antennas. MIMO exploits the multiple signal propagation paths to increase throughput, reduce bit error rates, and reduce transmission power.
FIG. 1 illustrates a multi-user multiple-input-multiple-output (MIMO) wireless system having a conventional centralized architecture.
Referring to FIG. 1, a base station 100 includes a plurality of service antennas 120 (i.e., antenna 120-1 to antenna 120-M), one central channel estimation unit 130, and one central pre-coding unit 140. The number of service antennas 120 in the conventional system is typically 4 or 8, for example. After data to be transmitted has been pre-coded by the central pre-coding unit 140 (as further explained below), the base station 100 transmits an outgoing signal including the pre-coded data using the plurality of antennas 120 by demultiplexing the outgoing signal into multiple sub-signals and transmitting the sub-signals from separate service antennas to a plurality of independently-operated terminals 110 (i.e., terminal 110-1 to terminal 110-K). The plurality of terminals 110 are equipped with one or more antennas. For the sake of clarity, it is assumed that all terminals 110 are equipped with only a single antenna.
A typical method of channel estimation in the conventional art is the linear regression estimator and a typical method of pre-coding in the conventional art is Zero-Forcing (ZF) via the pseudo-inverse, which is further explained below.
The central channel estimation unit 130 estimates the communication channel between the plurality of terminals 110 and the plurality of antennas 120. For example, the central estimation unit 130 may receive pilot sequences from the plurality of terminals 110 and estimate the channel condition based on the received pilot sequences. For example, hij may refer to the channel coefficient between the i-th terminal of the plurality of terminals 110 and the j-th antenna of the plurality of service antennas 120, where i-th refers to any one of the terminals 110 and j-th refers to any one of the antennas 120. That is, the signal sent by the i-th terminal to the j-th antenna is multiplied by the channel coefficient hij. Similarly, via reciprocity, the signal sent by j-th antenna to the i-th terminal is also multiplied by the channel coefficient hij. The channel estimation vector for the j-th antenna may be denoted by:
                              h          j                =                  [                                                                      h                                      1                    ⁢                    j                                                                                                      ⋮                                                                                      h                  Kj                                                              ]                                    Eq        .                                  ⁢        1            
The channel estimation between the plurality of service antennas 120 and the plurality of terminals 110 may be denoted by the matrix:H=[h1h2 . . . hM]  Eq. 2
Matrix H is an K-by-M channel matrix, formed by the channel vectors of the corresponding antennas.
During the pilot transmission phase, terminal 110-1 through terminal 110-K transmit pilot sequences {φ1, . . . , φK}, where each pilot sequence is a column vector. It is advantageous for the different pilot sequences to be substantially mutually orthogonal. For example, the j-th antenna of the plurality of service antennas 120 receives the following pilot sequence vector:yj=hj·φ1+ . . . +hKj·φK+additive noise.  Eq. 3
Referring to FIG. 1, the central channel estimation unit 130 collects all the vectors yj, where j=1, . . . , M, and forms the matrix:Y=[y1 . . . yM]  Eq. 4
Then, the central channel estimation unit 130 computes an estimate of the channel matrix H as follows:
                              H          ^                =                  c          ·                      [                                                                                φ                    1                    T                                                                                                ⋮                                                                                                  φ                    K                    T                                                                        ]                    ·          Y                                    Eq        .                                  ⁢        5            
The superscript “T” refers to transposition and conjugation, and c is a constant. In some implementations, such as minimum mean-square estimation, a different constant is applied to each of the K channel estimates.
The central estimation unit 130 transfers the channel estimate Ĥ to the central pre-coding unit 140. The central pre-coding unit 130 receives data to be transferred to the plurality of service antennas (i.e., {q1, . . . , qK}), and pre-codes the data. The pre-coded data is then transmitted via the plurality antennas 120. For instance, the plurality of service antennas 120 transmits their respective coded signals (i.e., {s1, . . . , sM}) to the plurality of terminals 110. Pre-coding is generalized beamforming that supports spatially-multiplexed transmission in multi-user MIMO systems. Pre-coding enables multiple streams of signals to be emitted from the transmit service antennas with independent and appropriate weighting per each antenna such that each terminal receives the data intended for itself with minimal interference from data sent to other terminals.
After receiving the channel estimation Ĥ, the central pre-coding unit 140 calculates the following pre-coding matrix (e.g., the pseudo-inverse of the channel estimate):A=√{square root over (p)}·ĤT·(Ĥ·ĤT)−1  Eq. 6
P is a normalization constant that defines the base station transmission power.
Based on the pre-coding matrix A, the central pre-coding unit 140 precodes signals {q1, . . . , qK} by computing the following vector:
                    s        =                              [                                                                                s                    1                                                                                                ⋮                                                                                                  s                    M                                                                        ]                    =                      A            ·                          [                                                                                          q                      1                                                                                                            ⋮                                                                                                              q                      K                                                                                  ]                                                          Eq        .                                  ⁢        7            
Signals s1 to sM are transferred to their respective service antennas for transmission. For example, signal s1 is transferred to antenna 120-1 and signal sM is transferred to antenna 120-M.
As described above, the conventional system includes a small number of antennas 120, which are all connected to the channel estimation unit 130 and the pre-coding unit 140. However, if the number of service antennas is increased to a number substantially larger than 4 or 8, the complexity of the conventional system greatly increases. For example, as the number of service antennas increases, the complexity of computing Eqs. 6 and 7 in the pre-coding unit 140 grows quadratically with the number of antennas.
In a multi-user MIMO system having a conventional centralized architecture, data is typically transmitted over the reverse-link as follows. Each of the K terminals transmits a data symbol, and each of the M service antennas receives a combination of all K data symbols as modified by the channel. The j-th service antenna receives the signal xj=q1·h1j+ . . . +qK·hKj+additive noise. A central de-coding unit uses the channel estimates to decode the M received signals. The so-called zero-forcing receiver utilizes the pseudo-inverse of the channel estimate to obtain estimates for the K data symbols as follows, [{circumflex over (q)}1 . . . {circumflex over (q)}K]=[x1 . . . xM]·ĤT·(ĤĤT)−1. Other commonly-used decoding schemes includes minimum mean-square estimation, and successive nulling and cancellation. All of these decoding schemes require that a centralized decoder have access to all of the M received signals as well as the channel estimates. The computational burden of these decoding schemes grows quadratically with the number of service antennas.